package cn.ncupyh.soft;

import java.util.Random;

public class Test_Three_Eighteen {
    public static void main(String[] args) {
////        方法的重载
////        把相同功能的定义为一个单词
////        好处:1.不用很多定义很多单词
////             2.调用不难么麻烦
//
//        compare(10,10);
//        compare((short)10,(short)20);
//        compare((byte)10,(byte)10);
//        compare((long)10,(long)30);
//
//    }
//
//    private static void compare(int a, int b) {
////        判断a与b是否相等,相等返回ture,不等返回false
//        System.out.print("int:");
//        System.out.println(a == b);
//    }
//
//    private static void compare(short a, short b) {
//        System.out.print("short:");
//        System.out.println(a == b);
//    }
//
//    private static void compare(byte a, byte b) {
//        System.out.print("byte:");
//        System.out.println(a == b);
//    }
//
//    private static void compare(long a, long b) {
//        System.out.print("long:");
//        System.out.println(a == b);
//    }


//        return 和 break 的区别
//        return:和方法有关,和循环没有关系,出现return,整个方法结束
//        break:和循环和switch有关,出现break,跳出循环或者switch


//        索引:指的是下标
//        索引3~7,指的是下标为3~下标为7


//
////练习
////定义一个方法:将数组从索引from(包含)到索引to(不包含)的元素复制到新的数组中
////        定义一个数组先
//        int arr[] = {1,2,3,4,5,6,7,8,9};
//        Scanner in =  new Scanner(System.in);
////        循环输入
//        while(true){
////        再输入要复制索引的位置
//        int from = in.nextInt();
//        int to =  in.nextInt();
////        判断输入的范围是否符合要求
//           if(from < 0 || to >= arr.length){
//                System.out.println("输入错误,请重新输入:");
//            }
////            若正确,则复制索引
//          else  ctrlTo(arr,from,to);
//        }
//    }
//
//
////    复制索引
//    private static void ctrlTo(int arr[],int from,int to ) {
//        int arr1[] = new int[to - from];
////        复制索引范围
//        for (int i = from; i < to; i++) {
//            arr1[i-from] = arr[i];
//        }
////        打印
//        System.out.print("复制索引后的数组为:[");
//        for (int i = 0; i < arr1.length; i++) {
//            if(i == arr1.length - 1){
//                System.out.print(arr1[i]);
//                break;
//            } System.out.print(arr1[i] + ",");
//        }
//        System.out.println("]");
//    }









//        ctrl + p  展示方法所需要的参数
//        ctrl + alt + M  自动抽取方法








/*
//        练习
//        判断一个数字是否为质数
//        算法:让n % 2~n-1之间的数字,如果能够被整除,则不是质数
        Scanner in = new Scanner(System.in);
//        输入一个数字先
        System.out.println("请输入一个数字:");
        int input = in.nextInt();
        boolean flag = true;
        for (int i = 2; i < input; i++) {
            if(input % i == 0){
                flag = false;
                break;
            }
        }
//        1不是质数
        if(  input == 2 || flag == true){
            System.out.println(input +"该数字是质数!");
        }
        else System.out.println(input +"该数字不是质数!");
*/










/*

//        随机验证码
//法一
//        要求:五位 + 前四位是字母 + 最后一位是数字
//        A-Z  一共有26个字母  ASCII值为65~90
//        a-z       26                97-122
        Random r = new Random();
//        设置A~Z和a~z之间的随机数
        int ranum1 = r.nextInt(26)+65;//65-90
        int ranum11 = r.nextInt(26)+65;//65-90
        int ranum2 = r.nextInt(26)+97;//97-122
        int ranum22 = r.nextInt(26)+97;//97-122
        int num = r.nextInt(10);//0-9

////首先 char sz  = (char)65强制转换化为A
//        char sz = (char)65;//A
//        System.out.println(sz);
            System.out.print((char)ranum1);//大写
            System.out.print((char)ranum2);//小写
            System.out.print((char)ranum11);//大写
            System.out.print((char)ranum22);//小写
            System.out.print(num);
*/

//       法二
//        建立一个数组,用来存储A~Z和a~z
        char arr[] = new char [52];
        for (int i = 0; i < arr.length; i++) {
            if(i<=25){
////首先 char sz  = (char)65强制转换化为A
//        char sz = (char)65;//A
            arr[i] = (char)(i+65);
            }else{
                arr[i] = (char)(i + 97 - 26);
            }
        }
//        展示数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
        System.out.println();//有换行的作用
//        创建一个随机数;
        Random r = new Random();
//        随机输出字母并打印出来
        for (int i = 0; i < 4; i++) {
        int fex = r.nextInt(52);
            System.out.print(arr[fex]);
        }
//        最后随机打印数字
        int num = r.nextInt(10);
        System.out.print(num);



    }
}
